﻿using System;

namespace HslCommunication.Reflection
{
	/// <summary>
	/// 对应redis的一个列表信息的内容
	/// </summary>
	// Token: 0x02000112 RID: 274
	[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
	public class HslRedisListAttribute : Attribute
	{
		/// <summary>
		/// 列表键值的名称
		/// </summary>
		// Token: 0x1700051D RID: 1309
		// (get) Token: 0x060017C8 RID: 6088 RVA: 0x000789A7 File Offset: 0x00076BA7
		// (set) Token: 0x060017C9 RID: 6089 RVA: 0x000789AF File Offset: 0x00076BAF
		public string ListKey { get; set; }

		/// <summary>
		/// 当前的位置的索引
		/// </summary>
		// Token: 0x1700051E RID: 1310
		// (get) Token: 0x060017CA RID: 6090 RVA: 0x000789B8 File Offset: 0x00076BB8
		// (set) Token: 0x060017CB RID: 6091 RVA: 0x000789C0 File Offset: 0x00076BC0
		public long StartIndex { get; set; }

		/// <summary>
		/// 当前位置的结束索引
		/// </summary>
		// Token: 0x1700051F RID: 1311
		// (get) Token: 0x060017CC RID: 6092 RVA: 0x000789C9 File Offset: 0x00076BC9
		// (set) Token: 0x060017CD RID: 6093 RVA: 0x000789D1 File Offset: 0x00076BD1
		public long EndIndex { get; set; } = -1L;

		/// <summary>
		/// 根据键名来读取写入当前的列表中的多个信息
		/// </summary>
		/// <param name="listKey">列表键名</param>
		// Token: 0x060017CE RID: 6094 RVA: 0x000789DA File Offset: 0x00076BDA
		public HslRedisListAttribute(string listKey)
		{
			this.ListKey = listKey;
		}

		/// <summary>
		/// 根据键名来读取写入当前的列表中的多个信息
		/// </summary>
		/// <param name="listKey">列表键名</param>
		/// <param name="startIndex">开始的索引信息</param>
		// Token: 0x060017CF RID: 6095 RVA: 0x000789F4 File Offset: 0x00076BF4
		public HslRedisListAttribute(string listKey, long startIndex)
		{
			this.ListKey = listKey;
			this.StartIndex = startIndex;
		}

		/// <summary>
		/// 根据键名来读取写入当前的列表中的多个信息
		/// </summary>
		/// <param name="listKey">列表键名</param>
		/// <param name="startIndex">开始的索引信息</param>
		/// <param name="endIndex">结束的索引位置，-1为倒数第一个，以此类推。</param>
		// Token: 0x060017D0 RID: 6096 RVA: 0x00078A16 File Offset: 0x00076C16
		public HslRedisListAttribute(string listKey, long startIndex, long endIndex)
		{
			this.ListKey = listKey;
			this.StartIndex = startIndex;
			this.EndIndex = endIndex;
		}
	}
}
